﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using HRM.HRMServiceProxy;

namespace HRM
{
    public partial class frmFieldExcel : Form
    {
        private string _Filed = "";
        public string Filed
        {
            get { return _Filed; }
            set { _Filed = value; }
        }
        DialogResult dlgResult;
        RoleRightInfo _listRoleView;
        bool _IsActive = false;
        public frmFieldExcel(RoleRightInfo listRoleView, bool IsActive)
        {
            InitializeComponent();
            _listRoleView = listRoleView;
            _IsActive = IsActive;
            LoadField();
            dlgResult = DialogResult.Cancel;
           
        }

        void LoadField()
        {
            lstField.Items.Add("STT").Name = "RowNumber";
            lstField.Items.Add("Mã cán bộ").Name = "Employee_Code";
            lstField.Items.Add("Họ và tên đệm").Name = "Employee_LastName";
            lstField.Items.Add("Tên").Name = "Employee_FirstName";
            lstField.Items.Add("Họ và tên").Name = "Employee_FullName";
            lstField.Items.Add("Giới tính").Name = "Employee_Sex";
            lstField.Items.Add("Loại nhân viên").Name = "Employee_Type";
            lstField.Items.Add("Quốc tịch").Name = "National_Name";
            lstField.Items.Add("Nguyên quán").Name = "Employee_NativeCountry";
            lstField.Items.Add("Ngày sinh").Name = "Employee_DateOfBirth";
            lstField.Items.Add("Nơi sinh").Name = "Employee_PlaceOfBirth";
            lstField.Items.Add("Địa chỉ").Name = "Employee_Address";
            lstField.Items.Add("Điện thoại").Name = "Employee_Phone";
            lstField.Items.Add("Tình trạng hôn nhân").Name = "MaritalStatus_Name";
            lstField.Items.Add("Tôn giáo").Name = "Religion_Name";
            lstField.Items.Add("Dân tộc").Name = "Ethnic_Name";
            lstField.Items.Add("Trình độ VH").Name = "Employee_Culture";
            lstField.Items.Add("Số TK ngân hàng").Name = "Employee_BankAccountNo";
            lstField.Items.Add("Ngân hàng").Name = "Employee_BankName";
            //lstField.Items.Add("Đơn vị").Name = "Branch_Name";
            lstField.Items.Add("Phòng ban").Name = "Department_Name";
            lstField.Items.Add("Chức vụ").Name = "Position_Name";
            lstField.Items.Add("Ngày vào cty").Name = "Employee_StartDate";
            lstField.Items.Add("Chuyên ngành").Name = "Employee_Specialist";
            lstField.Items.Add("Nghề nghiệp").Name = "PD_Job";
            lstField.Items.Add("Ngạch, chức danh").Name = "Grade_Name";
            lstField.Items.Add("Trình độ học vấn").Name = "Standard_Name";
            lstField.Items.Add("Số CMT").Name = "Employee_IDCardNo";
            lstField.Items.Add("Ngày cấp CMT").Name = "Employee_IDCardIssueDate";
            lstField.Items.Add("Nơi cấp CMT").Name = "Employee_IDCardIssueAuthority";
            lstField.Items.Add("Số HĐ hiện tại").Name = "LC_No";
            lstField.Items.Add("Ngày ký HĐ hiện tại").Name = "LC_Date";
            lstField.Items.Add("Loại HĐ hiện tại").Name = "ContractType_Name";
            lstField.Items.Add("Ngày hết hạn HĐ").Name = "LC_FinishDate";
            lstField.Items.Add("Hệ số lương").Name = "PD_BasicFactor";

            lstField.Items.Add("HSPC chức vụ").Name = "PD_PositionFactor";
            lstField.Items.Add("HSPC TNVK").Name = "PD_OverFactor";
            lstField.Items.Add("HSPC TN nghề").Name = "PD_JobFactor";
            lstField.Items.Add("HSPC khu vực").Name = "PD_AreaFactor";
            lstField.Items.Add("Phụ cấp điện thoại").Name = "PD_TelephoneAllowance";
            lstField.Items.Add("Phụ cấp cơm trưa").Name = "PD_LunchAllowance";
            lstField.Items.Add("Phụ cấp khác").Name = "PD_OtherAllowance";

            lstField.Items.Add("Lương cơ bản").Name = "PD_BasicSalary";
            lstField.Items.Add("Lương thực nhận").Name = "PD_TotalSalary";
            lstField.Items.Add("Số sổ BH").Name = "Employee_SIBookNo";
            lstField.Items.Add("Ngày cấp sổ BH").Name = "Employee_SIBookIssueDate";
            lstField.Items.Add("Nơi cấp sổ BH").Name = "Employee_SIBookIssueAuthority";
            lstField.Items.Add("Số thẻ BHYT").Name = "Employee_MedicalNo";
            lstField.Items.Add("Nơi khám BHYT").Name = "Employee_MedicalPlace";
            lstField.Items.Add("Ngày cấp thẻ BHYT").Name = "Employee_MedicalDate";
            lstField.Items.Add("Ngày vào đảng").Name = "Employee_PartyDate";
            lstField.Items.Add("Ngày nhập ngũ").Name = "Employee_ArmyFromDate";
            lstField.Items.Add("Ngày xuất ngũ").Name = "Employee_ArmyToDate";
            lstField.Items.Add("Chức vụ quân đội cao nhất").Name = "Employee_ArmyPosition";

            if (!_IsActive)
            {
                lstField.Items.Add("Ngày nghỉ việc").Name = "Employee_EndDate";
                lstField.Items.Add("Hình thức thôi việc").Name = "TypeOfLeaveWork_Name";
            }
        }

        private void btnOk_Click(object sender, EventArgs e)
        {
            _Filed = "";
            for (int i = 0; i < lstField.CheckedItems.Count; i++)
            {
                if (_Filed.Length == 0)
                    _Filed = lstField.CheckedItems[i].Name;
                else
                    _Filed += "," + lstField.CheckedItems[i].Name;
            }

            if (_Filed.Length == 0)
                dlgResult = DialogResult.Cancel;
            else
                this.DialogResult = dlgResult = DialogResult.OK;
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void frmFieldExcel_FormClosing(object sender, FormClosingEventArgs e)
        {
            this.DialogResult = dlgResult;
        }

        private void cboCheckAll_CheckedChanged(object sender, EventArgs e)
        {
            foreach (ListViewItem item in lstField.Items)
                item.Checked = cboCheckAll.Checked;
        }
    }
}
